import request from '@/config/axios'

// 设备 VO
export interface DeviceVO {
  id: number // 主键id
  name: string // 名称
  supplierId: number // 供应商id
  groupId: number // 设备组id
  brand: string // 品牌
  model: string // 型号
  specification: string // 设备规格
  isSpecialEquipment: number // 是否特种设备
  useDescribe: string // 使用描述
  isNeedRepair: number // 是否需要检修
  repairCycle: number // 检修周期，单位：天
  repairPermitCard: string // 检修许可证
  repairReason: string // 检修原因
  repairContent: string // 检修内容
  isNeedMaintain: number // 是否需要维护
  maintainCycle: number // 维护周期，单位：天
  isNeedFitMetering: number // 是否需要计量
  fitMeteringCycle: number // 计量周期，单位：天
}

// 设备 API
export const DeviceApi = {
  // 查询设备分页
  getDevicePage: async (params: any) => {
    return await request.get({ url: `/zjyj/device/page`, params })
  },

  // 查询设备详情
  getDevice: async (id: number) => {
    return await request.get({ url: `/zjyj/device/get?id=` + id })
  },

  // 新增设备
  createDevice: async (data: DeviceVO) => {
    return await request.post({ url: `/zjyj/device/create`, data })
  },

  // 修改设备
  updateDevice: async (data: DeviceVO) => {
    return await request.put({ url: `/zjyj/device/update`, data })
  },

  // 删除设备
  deleteDevice: async (id: number) => {
    return await request.delete({ url: `/zjyj/device/delete?id=` + id })
  },

  // 导出设备 Excel
  exportDevice: async (params) => {
    return await request.download({ url: `/zjyj/device/export-excel`, params })
  }
}